package com.wunong.smart.address.client.vo;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotNull;

/**
 * 用户地址页面对象
 *
 * @author create by zealot.zt
 */
@Getter
@Setter
@ToString(callSuper = true)
public class UserAddressVO extends AddressVO {

    private static final long serialVersionUID = 8984311065504777786L;

    /**
     * 用户地址编号
     */
    private Long id;

    /**
     * 用户编号，一个用户可以有多个地址
     */
    @NotNull(message = "用户编号不能没有")
    private Long userId;

    /**
     * 用户角色
     */
    private Integer userRole;

    /**
     * 是否为默认地址
     */
    private Boolean isDefault;

    /**
     * 收货人手机号
     */
    @Length(min = 7, max = 32, message = "收货人手机号字符数不能超过32")
    private String mobile;

    /**
     * 收货人姓名
     */
    @Length(min = 2, max = 32, message = "收货人姓名字符数不能超过32")
    private String name;

    /**
     * 性别，先生，女士
     */
    @NotNull(message = "性别不能没有")
    private Integer sex;

    /**
     * 用户地址描述
     */
    @Length(max = 255, message = "用户地址描述长度不能超过255")
    private String description;

    public static UserAddressVO of() {
        return new UserAddressVO();
    }

}
